#include<iostream>
#include<unistd.h>
#include<cassert>
#include<string>
#include<cerrno>
#include<cstdlib>
#include<cstring>
#include<signal.h>
#include<sys/types.h>
using namespace std;
void Usage(string proc)
{
    cout<<"\tUsage:\n\t";
    cout<<proc<<"信号编号 目标进程\n"<<endl;
}
int main(int argc,char *argv[])
{
    sleep(1);
    raise(2);
}
int main1(int argc,char *argv[])
{
    if(argc!=3)
    {
        Usage(argv[0]);
        exit(1);
    }
    int signo=atoi(argv[1]);
    int target_id=atoi(argv[2]);
    int n=kill(target_id,signo);
    if(n!=0)
    {
        cerr<<errno<<":"<<strerror(errno)<<endl;
        exit(2);
    }
    return 0;
}
/*void handler(int signo)
{
    cout<<"signal:"<<signo<<endl;
}
int main()
{
    signal(2,handler);
    while(true)
    {
        cout<<"我是一个进程，正在执行...."<<endl;
        sleep(1);
    }
    return 0;
}*/